/***
 * 顺序表头文件声明:
 * 线性表: 逻辑和物理上都是顺序结构
 */
#define MAX_SIZE = 50

typedef struct {
    int data[50];
    int size;
}List;
/**
 * 顺序表操作
 */

 /**
  * 初始化表。构造一个空的线性表。
  * @param list
  */
void initList(List* list);
/**
 * 销毁线性表，并释放线性表L占用的内存空间。
 * @param list
 */
void destroyList(List* list);
/**
 * 按值查找表。在表L中查找具有给定关键字值的元素。
 * @param list
 * @param e
 */
void locateElem(List list,int e);
/**
 * 按位查找表。获取表L中第i个位置元素的值。
 * @param i
 */
void getElem(List,int i);
/**
 * 插入操作。在表L中第i个元素插入指定元素e。第i个位置前一位插入。
 * @param list
 * @param i
 * @param e
 */
void add(List* list,int i,int e);
/**
 * 删除操作。在表L中删除第i个元素，并用e返回删除元素的值。
 * @param list
 * @param i
 * @param e
 */
void remove(List* list,int i,int* e);
/**
 * 输出操作,按顺序输出表L的所有值。
 * @param list
 */
void printList(List list);
/**
 * 判空操作。若为空表，返回true，否则返回false。
 * @param list
 * @return
 */
int isEmpty(List list);
/**
 * 求表长。返回表L的长度。
 */
void size(List);
